<!DOCTYPE html>
<html>
<head>
    <meta charset="UTF-8">
    <title>Document</title>
    <style>
        
    </style>
</head>
<body>
    
</body>
<script>
    // 1. 编写一个函数，计算两个数字的和／差／积／商
    // - 使用传参的方式

    // 简易计算器的封装
    // 入口 - 参数
    function computed(n1, n2, f){
        var sum = 0;
        // 根据得到的符号，决定执行什么运算
        switch(f){
            case "+":
                sum = n1 + n2;
                break;
            case "-":
                sum = n1 - n2;
                break;
            case "*":
                sum = n1 * n2;
                break;
            case "/":
                sum = n1 / n2;
                break;
            case "%":
                sum = n1 % n2;
                break;
        }
        // 出口 - 返回值
        return sum;
    }
    // console.log(computed(3, 7, "+"))
    // console.log(computed(3, 7, "-"))
    // console.log(computed(3, 7, "*"))
    // console.log(computed(3, 7, "/"))
    // console.log(computed(16, 7, "%"))

    // 2. 编写一个函数，计算三个不同数字的大小，按从小到大顺序打印
    // - 穷举法
    // 列出所有可能
    // a  b  c
    // a  c  b
    // b  a  c
    // b  c  a
    // c  a  b
    // c  b  a
    function size(a, b, c){
        // a最大
        if(a > b && a > c){
            if(b > c){
                console.log(a, b, c);
            }else{
                console.log(a, c, b);
            }
        }else
        // b最大
        if(b > c && b > a){
            if(a > c){
                console.log(b, a, c);
            }else{
                console.log(b, c, a);
            }
        }else
        // c最大
        if(c > a && c > b){
            if(a > b){
                console.log(c, a, b);
            }else{
                console.log(c, b, a);
            }
        }
    }

    // size(6,3,9)
    // size(3,9,6)

    // 4. 编写一个函数，计算任意两个个位数之间所能组成的两位数的奇数
    // - 计算0，3之间能组成的奇数个是：01、21、03、13、23、31
    // - 不要使用返回值
    // max,min

    // 4, 5, 6, 7
    // 4:44,45,46,47
    // 5:54,55,56,57
    // 6:64,65,66,67
    // 7:74,75,76,77
    function createOdd(min, max){
        // 保证参数语义化的真实性
        if(min > max){
            var x = min;
            min = max;
            max = x;
        }
        // 获取两个数字之间的数字
        for(var i=min;i<=max;i++){
            // 获取两个数字之间的数字
            for(var j=min;j<=max;j++){
                // 组合之后判断奇数，同时不允许数据重复
                if( ("" + i + j)%2 && i!==j){
                    // 打印结果
                    console.log("" + i + j);
                }
            }
        }
    }
    // createOdd(0, 3);
    // createOdd(3, 0);

    // 某个公司采用公用电话传递数据，数据是四位的整数，在传递过程中是加密的，加密规则如下：每位数字都加上5,然后用除以10的余数代替该数字，再将第一位和第四位交换，第二位和第三位交换，请编写一个函数，传入原文，输出密文

    // var num = 3715;

    function fn(num){
        // 3715/1000 = 3.715 取整 3
        var a = parseInt(num/1000);
        // 3715/100 = 37.15 取整 37%10 = 7
        var b = parseInt(num/100)%10;
        // 3715/10 = 371.5 取整 371%10 = 1
        var c = parseInt(num/10)%10;
        // 3715%10 = 5
        var d = num % 10;

        // 根据要求计算每个数字
        a = (a + 5) % 10;
        b = (b + 5) % 10;
        c = (c + 5) % 10;
        d = (d + 5) % 10;

        // 交换之后，拼接完整，返回到外部
        return ""+d+c+b+a;
    }

    // console.log(fn(3715));









    // 封装思想

</script>
</html>